package com.example.service;

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.entity.HotWordStats;

/**
 * 舆情分析服务接口
 */
public interface OpinionAnalysisService {

    /**
     * 获取热词统计数据
     */
    Map<String, Object> getHotWordsStats(Map<String, Object> params);

    /**
     * 获取热词列表
     */
    List<Map<String, Object>> getHotWords(Map<String, Object> params);

    /**
     * 获取平台统计数据
     */
    Map<String, Object> getPlatformStats(Map<String, Object> params);

    /**
     * 获取平台详情数据
     */
    List<Map<String, Object>> getPlatformDetails(Map<String, Object> params);

    /**
     * 获取平台图表数据
     */
    Map<String, Object> getPlatformCharts(Map<String, Object> params);

    /**
     * 获取文章统计数据
     */
    Map<String, Object> getArticleStats(Map<String, Object> params);

    /**
     * 获取文章列表
     */
    List<Map<String, Object>> getArticles(Map<String, Object> params);

    /**
     * 获取文章图表数据
     */
    Map<String, Object> getArticleCharts(Map<String, Object> params);

    /**
     * 获取IP统计数据
     */
    Map<String, Object> getIPStats(Map<String, Object> params);

    /**
     * 获取IP图表数据
     */
    Map<String, Object> getIPCharts(Map<String, Object> params);

    /**
     * 获取评论统计数据
     */
    Map<String, Object> getCommentStats(Map<String, Object> params);

    /**
     * 获取评论列表
     */
    List<Map<String, Object>> getComments(Map<String, Object> params);

    /**
     * 获取评论图表数据
     */
    Map<String, Object> getCommentCharts(Map<String, Object> params);

    /**
     * 获取舆情统计数据
     */
    Map<String, Object> getOpinionStats(Map<String, Object> params);

    /**
     * 获取舆情报告列表
     */
    List<Map<String, Object>> getOpinionReports(Map<String, Object> params);

    /**
     * 获取舆情图表数据
     */
    Map<String, Object> getOpinionCharts(Map<String, Object> params);

    /**
     * 获取词云统计数据
     */
    Map<String, Object> getWordCloudStats(Map<String, Object> params);

    /**
     * 获取词云数据
     */
    Map<String, Object> getWordCloudData(Map<String, Object> params);

    /**
     * MyBatis-Plus 查询热词统计
     */
    List<HotWordStats> selectHotWordsByMp(QueryWrapper<HotWordStats> queryWrapper);
} 